| ..:: Menu ::.. | ..:: Kurs C++ : Kod Programu ::.. | ..::Info i Reklamy::.. |
|
Strona Główna Kursy DELPHI Kursy C++ Linki Forum Download Seriale Humor Reklama O autorze |
Naturalnie, teraz przyjrzymy się bliżej naszemu elementarnemu projektowi, przy okazji
odkrywając najważniejsze aspekty programowania w C++. KomentrzePierwsza linijka: to komentarz, czyli dowolny opis słowny. Jest on całkowicie ignorowany przez kompilator, natomiast może być pomocny dla piszącego i czytającego kod. Komentarze piszemy w celu wyjaśnienia pewnych fragmentów kodu programu, oddzielenia jednej jego części od drugiej, oznaczania funkcji i modułów itp. Odpowiednia ilość komentarzy ułatwia zrozumienie kodu, więc stosuj je często :)W C++ komentarze zaczynamy od // (dwóch slashy): lub umieszczamy je między /* i */, na przykład: Funkcja main()Kiedy uruchamiamy nasz program, zaczyna on wykonywać kod zawarty w funkcji main(). Od niej więc rozpoczyna się działanie aplikacji – a nawet więcej: na niej też to działanie się kończy. Zatem program (konsolowy) to przede wszystkim kod zawarty w funkcji main() – determinuje on bezpośrednio jego zachowanie.W przypadku rozważanej aplikacji funkcja ta nie jest zbyt obszerna, niemniej zawiera wszystkie niezbędne elementy. Najważniejszym z nich jest nagłówek, który u nas prezentuje się następująco: Występujące na początku słowo kluczowe void mówi kompilatorowi, że nasz program nie będzie informował systemu operacyjnego o wyniku swojego działania. Niektóre programy robią to poprzez zwracanie liczby – zazwyczaj zera w przypadku braku błędów i innych wartości, gdy wystąpiły jakieś problemy. Nam to jest jednak zupełnie niepotrzebne – w końcu nie wykonujemy żadnych złożonych operacji, zatem nie istnieje możliwość jakiekolwiek niepowodzenia. Po nagłówku występuje nawias otwierający {. Jego główna rola to informowanie kompilatora, że „tutaj coś się zaczyna”. Wraz z nawiasem zamykającym } tworzy on blok kodu – na przykład funkcję. Z takimi parami nawiasów będziesz się stale spotykał; mają one znaczenie także dla programisty, gdyż porządkują kod i czynią go bardziej czytelnym. Takim oto sposobem zapoznaliśmy się ze strukturą funkcji main(), będącej główną częścią programu konsolowego w C++. Teraz czas zająć się jej zawartością i dowiedzieć się, jak i dlaczego nasz program działa :) Pisanie tekstu w konsoliMieliśmy okazję się przekonać, że nasz program pokazuje nam komunikat podczas działania. Nietrudno dociec, iż odpowiada za to ta linijka: std::cout oznacza tak zwany strumień wyjścia. Jego zadaniem jest wyświetlanie na ekranie konsoli wszystkiego, co doń wyślemy – a wysyłać możemy oczywiście tekst. Korzystanie z tego strumienia umożliwia zatem pokazywanie nam w oknie konsoli wszelkiego rodzaju komunikatów i innych informacji. Będziemy go używać bardzo często, dlatego musisz koniecznie zaznajomić się ze sposobem wysyłania doń tekstu. A jest to wbrew pozorom bardzo proste, nawet intuicyjne. Spójrz tylko na omawianą linijkę – nasz komunikat jest otoczony czymś w rodzaju strzałek wskazujących std::cout, czyli właśnie strumień wyjścia. Wpisując je (za pomocą znaku mniejszości), robimy dokładnie to, o co nam chodzi: wysyłamy nasz tekst do strumienia wyjścia. Drugim elementem, który tam trafia, jest std::endl. Oznacza on ni mniej, ni więcej, jak tylko koniec linijki i przejście do następnej. W przypadku, gdy wyświetlamy tylko jedną linię tekstu nie ma takiej potrzeby, ale przy większej ich liczbie jest to niezbędne. Konkludując: strumień wyjścia pozwala nam na wyświetlanie tekstu w konsoli, zaś używamy go poprzez std::cout oraz „strzałki” <<.Druga linijka funkcji main() jest bardzo krótka: Podobnie krótko powiem więc, że odpowiada ona za oczekiwanie programu na naciśnięcie dowolnego klawisza. Traktując rzecz ściślej, getch()jest funkcją podobnie jak main(), jednakże do związanego z tym faktem zagadnienia przejdziemy nieco później. Na razie zapamiętaj, iż jest to jeden ze sposobów na wstrzymanie działania programu do momentu wciśnięcia przez użytkownika dowolnego klawisza na klawiaturze. Dołączanie plików nagłówkowychPozostały nam jeszcze dwie pierwsze linijki programu: które wcale nie są tak straszne, jak wyglądają na pierwszy rzut oka :) Przede wszystkim zauważmy, że zaczynają się one od znaku #, czym niewątpliwie różnią się od innych instrukcji języka C++. Są to bowiem specjalne polecenia wykonywane jeszcze przed kompilacją - tak zwane dyrektywy. Przekazują one różne informacje i komendy, pozwalają więc sterować przebiegiem kompilacji programu. Jedną z tych dyrektyw jest właśnie #include. Jak sama nazwa wskazuje, służy ona do dołączania – przy jej pomocy włączamy do naszego programu pliki nagłówkowe Ale czym one są i dlaczego ich potrzebujemy?By się o tym przekonać, zapomnijmy na chwilę o programowaniu i wczujmy się w rolę zwykłego użytkownika komputera. Gdy instaluje on nową grę, zazwyczaj musi również zainstalować DirectX, jeżeli jeszcze go nie ma. To całkowicie naturalne, gdyż większość gier korzysta z tej biblioteki, więc wymaga jej do działania. Równie oczywisty jest także fakt, że do używania edytora tekstu czy przeglądarki WWW ów pakiet nie jest potrzebny – te programy po prostu z niego nie korzystają. Nasz program nie korzysta ani z DirectX, ani nawet ze standardowych funkcji Windows (bo nie jest aplikacją okienkową). Wykorzystuje natomiast konsolę i dlatego potrzebuje odpowiednich mechanizmów do jej obsługi - zapewniają je właśnie pliki nagłówkowe. W naszym przypadku dyrektywa #include ma za zadanie włączenie do kodu plików iostream i conio.h. Pierwszy z nich pozwala nam pisać w oknie konsoli za pomocą std::cout, drugi zaś wywołać funkcję getch(), która czeka na dowolny klawisz. Konieczność dołączania plików nagłówkowych (zwanych w skrócie nagłówkami) może ci się wydawać celowym utrudnianiem życia programiście. Ma to jednak głęboki sens, gdyż zmniejsza rozmiary programów. Dlaczego kompilator miałby powiększać plik EXE zwykłej aplikacji konsolowej o nazwy (i nie tylko nazwy) wszystkich funkcji Windows czy DirectX, skoro i tak nie będzie ona z nich korzystać? Mechanizm plików nagłówkowych pozwala temu zapobiec i tą drogą korzystnie wpłynąć na objętość programów. Tym zagadnieniem zakończyliśmy omawianie naszego programu - możemy sobie pogratulować :) Nie był on wprawdzie ani wielki, ani szczególnie imponujący, lecz początki zawsze są skromne. Nie spoczywajmy zatem na laurach i kontynuujmy… <--- Wstecz | Dalej ---> |
Reklama To miejsce czeka na twoją reklame. Więcej informacji w dziale Reklama |